Software companies often offer multiple flavors of a software application. Each flavor can include different functionality. This allows a customer to only purchase the options or functions which the customer is interested in. Depending upon the configuration of the software application, more or fewer functions can be available to the customer. The number of functions can affect the price of a particular flavor of the software application.
Often times a potential customer is unfamiliar with what the software application can offer. As a result, a software company can offer a potential customer a free trial of the software application. The free trial can be a pre-configured version of the software application that allows the potential customer to experiment using the software application before having to commit to purchase. A potential customer can request a free trial by communicating customer information to a backend server of the software company. The backend server processes the customer information and generates an instance of the application for the potential customer to test out. Depending on the size of the application and the server's load or traffic status, it may take a few minutes to a few hours to generate the instance of the application. In the worst case scenario where it takes a few hours, the delay between the customer request and the actual delivery of the free trial can be frustrating to the potential customer, which leads to poor customer satisfaction. The customer may lose interest and decide to forego the free trial. Furthermore, the application instance for the free trial can periodically be generated with faults. The faulty application instance can perform in unexpected ways during the free trial, which can also lead to poor customer satisfaction.